import { StyleProp, ViewStyle } from "react-native";
import * as Animatable from "react-native-animatable";
//**alert类型 */
export type AlertType = "success" | "error" | "info" | "warning";
//** 提示函数参数类型 */
export interface AlertPropsType {
  /** 自定义容器样式 */
  style?: StyleProp<ViewStyle>;
  /** 自动隐藏时间（毫秒），默认 3000 */
  duration?: number;
  /** 隐藏动画完成回调 */
  onHide?: () => void;
  /** 入场动画类型，默认 fadeIn */
  animationIn?: Animatable.Animation;
  /** 退场动画类型，默认 fadeOut */
  animationOut?: Animatable.Animation;
  /** 入场动画时长（毫秒），默认 500 */
  animationInDuration?: number;
  /** 退场动画时长（毫秒），默认 300 */
  animationOutDuration?: number;
  autoUnmount?: boolean;
}
//** 提示函数打开与关闭 */
export interface AlertRefType {
  /** 手动触发显示
   * @param codeOrMessage 提示类型或消息
   * @param message 提示消息
   */
  show: (code: AlertType, message: string) => void;
  /** 手动触发隐藏 */
  hide: () => void;
}
